Enviado por: phpmysql
Fecha: 2004-06-08 09:12:09
Actualizado: 2004-06-10 13:22:05
¿Usa base de datos?: 0
Fecha: 2004-06-08 09:12:09
Actualizado: 2004-06-10 13:22:05
¿Usa base de datos?: 0
Visitas: 1440
Votos: 1
Descargado: 458 veces
Votos: 1
Descargado: 458 veces
Libro de visitas echo por phpmysql que no necesita bases de datos mysql para funcionar y en su lugar utiliza un archivo de texto, se compone de dos archivos: [b]firmar.php[/b] este archivo sirve para agregar un nuevo post y tambien para administrar los mensajes ya existentes la contrase�a por defecto es 12345 [codigo]<style> /* Cuerpo */ body,table { font-family: verdana ; font-size: 8pt ; color: #000000 ; text-align: justify ; scrollbar-face-color: #eeeeee ; scrollbar-darkshadow-color: #000000 ; scrollbar-shadow-color: #aaaaaa ; scrollbar-highlight-color: #ffffff ; scrollbar-3dlight-color: #000000 ; scrollbar-track-color: #ffffff ; scrollbar-arrow-color: #000000 ; } /* Titulos */ .t1 { color: #ffa500 ; font-size: 10pt ; font-weight: bold ; filter: glow(color=#000000,strength=3) ; height: 1 ; } .tema { font-size: 10pt ; font-weight: bold ; } /* libro */ a { color: #000000 ; text-decoration: none ; font-weight: bold ; } /* Negrita */ b { color: #000000 ; } /* Tablas del foro */ .tabla_principal { border: #000000 0 solid ; } .tabla_titulo { border-left: #aaaaaa 2 solid ; border-top: #aaaaaa 2 solid ; border-right: #505050 2 solid ; border-bottom: #505050 2 solid ; background: #757575 ; } .tabla_subtitulo { border-left: #cccccc 2 solid ; border-top: #cccccc 2 solid ; border-right: #aaaaaa 2 solid ; border-bottom: #aaaaaa 2 solid ; background: #bbbbbb ; } .tabla_mensaje { border-left: #eeeeee 2 solid ; border-top: #eeeeee 2 solid ; border-right: #cccccc 2 solid ; border-bottom: #cccccc 2 solid ; background: #dddddd ; } /* Formulario */ .form { border: #000000 1 solid ; background: #cccccc ; font-family: verdana ; font-size: 8pt ; } </style> <title>Firmar libro de visitas</title> <table width="100%" border="0" cellspacing="1" cellpadding="2" style="border: #757575 1 solid"> <tr> <td background="fondo_titulo.gif" bgcolor="#999999"><div align="center"><strong><font size="2">Insertar nueva firma</font> </strong></div></td> </tr> <tr> <td height="332" bgcolor="#dddddd"> <table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td height="337"><form action='<? $_SERVER["REQUEST_URI"] ?>' method="post" > <table width="44%" border="0" align="center" > <tr> </tr> <tr> <td colspan="3">&nbsp;</td> </tr> <tr> <td width="37%"><div align="left">Nombre :</div></td> <td width="63%" colspan="2"><input name="nombre" class="form" id="nombre3" size=40 maxlength=200></td> </tr> <tr> <td><div align="left">Email:</div></td> <td colspan="2"> <input name="email" class="form" size=40 maxlength="200"></td> </tr> <tr> <td><div align="left">Lugar:</div></td> <td colspan="2"> <input name="lugar" class="form" size=40 maxlength="200"></td> </tr> <tr> <td><div align="left">Pagina web :</div></td> <td colspan="2"> <input name="paginaweb" class="form" size=40 maxlength="200"></td> </tr> <tr> <td valign="top"><div align="left"> <p>Comentarios :</p> <table width="100%" border="0" cellspacing="1" cellpadding="1"> <tr> <td width="32%" height="31"><img src="caretos/alegre.gif" width="15" height="15"> :D </td> <td width="32%"><img src="caretos/demonio.gif" width="15" height="15"> :(1 </td> <td width="36%"><img src="caretos/guino.gif" width="15" height="15"> ;)</td> </tr> <tr> <td><img src="caretos/asustado.gif" width="15" height="15"> :8 </td> <td><img src="caretos/demonio2.gif" width="15" height="15"> :(2 </td> <td><img src="caretos/llorar.gif" width="15" height="15"> :'( </td> </tr> <tr> <td><img src="caretos/burla.gif" width="15" height="15"> :P </td> <td><img src="caretos/duda.gif" width="15" height="15"> :? </td> <td><img src="caretos/lol.gif" width="15" height="15"> :lol </td> </tr> <tr> <td><img src="caretos/confundido.gif" width="15" height="15"> :S </td> <td><img src="caretos/enojado.gif" width="15" height="15"> :-( </td> <td><img src="caretos/moda.gif" width="15" height="15"> :M </td> </tr> <tr> <td><img src="caretos/sorprendido.gif" width="15" height="15"> :O </td> <td><img src="caretos/triste.gif" width="15" height="15"> :( </td> <td><img src="caretos/risa.gif" width="15" height="15"> :) </td> </tr> <tr> <td><img src="caretos/neutral.gif" width="15" height="15"> :| </td> <td><img src="caretos/sonrisa.gif" width="15" height="15"> :-) </td> <td><img src="caretos/sonrojado.gif" width="15" height="15"> :R </td> </tr> </table> </div></td> <td colspan="2" valign="top"> <textarea name="comentarios" cols="38" rows="10" class="form" id="comentarios"></textarea></td> </tr> <tr> <td colspan="3"><div align="center"><br> <input name="firmar" type="submit" class="form" value="Firmar"> <input name="Reset" type="reset" class="form" value="Deshacer"> </div></td> </tr> </table> <p>&nbsp;</p> </form></td> </tr> </table></td> </tr> </table> <br> <table width="100%" border="0" cellspacing="1" cellpadding="2" style="border: #757575 1 solid"> <tr> <td height="16" bgcolor="#dddddd"><table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td><a href="libro.php">Volver al libro de visitas</a></td> <td><div align="right"></div></td> </tr> </table> </td> </tr> </table> <br> <br> <?php /* Script modificado por elcidop o phpmysql www.elcidop.com www.phpmysql.tk */ //Configuracion $nombre_archivo = "libro.txt"; $contrasena = "12345"; // Funciones function abrirf($filename) //funcion para leer un archivo a una variable { //recimos como parametro el nombre del fichero $fd = @fopen ($filename, "a+"); //abrimos el archivo y oasamos el apuntador a $fd $archivo = @fread ($fd, filesize ($filename));//leemos el archivo apuntado por $fd y pasamos -> $archivo @fclose ($fd); //cerramos el apuntador del archivo return $archivo; //devolvemos contenido del archivo } function guardarf($filename,$valor)//funcion para guardar el contenido de una variable a un archivo { //recibimos nombre del archivo en q se guarda la variable $valor $fe = @fopen ($filename, "w+"); //abrimos el archivo para escritura @fputs ($fe,$valor); //escribimos en el fichero apuntado por $fe @fclose ($fe); //cerramos el apuntador } // Borramos el archivo if($borrar && $_POST["contrasena_nombre"] == $contrasena) { $filename = $nombre_archivo; $archivo = abrirf ($filename); $limite = substr_count($archivo, '/n'); for ($i = 0 ; $i < $limite ; $i++) //recorremos todos los registros del archivo { $aux = "tupla".$i; //para recuperar el valor que envio desde indexuser.php creo la $busco = $$aux."/n"; //variable aux que sera = a "tupla0".... y la declaro variable con //$$aux se agrego "/n" para completar la cadena a borrar if($busco != "/n") //si se envio la variable $busco dera != de "/n" $archivo = str_replace ("$busco","", "$archivo");//borramos el registro } guardarf ($filename,$archivo); echo "<script>location.href='$_SERVER[REQUEST_URI]'</script>"; } // Agregamos libro if ($firmar) { if($nombre && $comentarios) { $nombre = htmlspecialchars(trim($_POST["nombre"])); $email = htmlspecialchars(trim($_POST["email"])); $lugar = htmlspecialchars(trim($_POST["lugar"])); $paginaweb = htmlspecialchars(trim($_POST["paginaweb"])); $comentarios = htmlspecialchars(trim($_POST["comentarios"])); $filename = $nombre_archivo; $archivo = abrirf ($filename); $fecha = time(); $archivo = $archivo.trim(" $nombre|$email|$lugar|$paginaweb|$comentarios|$fecha/n"); guardarf ($filename,$archivo); echo "<script>location.href='$_SERVER[REQUEST_URI]'</script>"; } else echo "<b>Advertencia</b>:<br>No ha ingresado todos los datos en el formulario<br><br>"; } // Furmulario para poder borrar un nombre ?> <table width='100%' border='0' cellspacing='1' cellpadding='4' style="border: #757575 1 solid"> <tr> <td width="17%" background="fondo_titulo.gif" bgcolor="#999999"><b>Nombre</b></td> <td width="18%" background="fondo_titulo.gif" bgcolor="#999999"><b>Email</b></td> <td width="18%" background="fondo_titulo.gif" bgcolor="#999999"><b>Lugar</b></td> <td width="23%" background="fondo_titulo.gif" bgcolor="#999999"><b>Pagina Web</b></td> <td width="18%" background="fondo_titulo.gif" bgcolor="#999999"><b>Comentario</b></td> <td width="2%" background="fondo_titulo.gif" bgcolor="#999999">&nbsp;</td> </tr> <? echo "<form method='post' action='$_SERVER[REQUEST_URI]'>"; // Abrimos el archivo $archivo = abrirf ($nombre_archivo); $limite = substr_count($archivo, '/n' ); $tupla = split( '/n', $archivo, $limite + 1 ); for($i=0 ; $i < $limite ; ++$i) { $borrado = trim($tupla[$i]); $columna = split( "|" , $tupla[$i] , 6 ); // Reduccimos los comentarios if (strlen($columna[4]) > 20) { $columna[4] = substr($columna[4],0,20)."..."; } ?> <tr> <td bgcolor="#dddddd"><? echo $columna[0] ?></td> <td bgcolor="#dddddd"><? echo $columna[1] ?></td> <td bgcolor="#dddddd"><? echo $columna[2] ?></td> <td bgcolor="#dddddd"><? echo $columna[3] ?></td> <td bgcolor="#dddddd"><? echo $columna[4] ?></td> <td bgcolor="#dddddd"><input type='checkbox' name='<? echo "tupla".$i ?>' value='<? echo $borrado ?>'></td> </tr> <? } // Fin formulario para poder enviar un nombre ?> </table> <br> <div align=right>Contrase�a : <input name='contrasena_nombre' type='text' class='form' size='12'> <input name='borrar' type='submit' class='form' value='Borrar'></div><br> <? echo "</form>"; ?><br> <div align="center"><a href="http://recursosphp.iefactory.com/librodevisitas/librodevisitas.zip"><br> librodevisitas</a> by elcidop</div> [/codigo] [b]libro.php[/b] en el principio de este archivo como vemos podemos administrar las opciones generales de la pagina y aqui quedaran predefinidas al ejecutarlo (caretos,censura,urls,titulo). [codigo]<? //Configuracion $mensaje_de_bienvenida = "Bienvenidos al libro de visitas de mi pagina web."; $titulo_de_la_pagina_web = "Libro de visitas de http://www.elcidop.com"; $direccion_de_la_pagina = "http://www.elcidop.com/index.php"; $usuario = "elcidop"; $caretos_en_mensajes = "si"; $transformar_urls_en_enlaces = "si"; $censurar_insultos = "si"; $otras_funciones = "si"; ?> <style> /* Cuerpo */ body,table { font-family: verdana ; font-size: 8pt ; color: #000000 ; text-align: justify ; scrollbar-face-color: #eeeeee ; scrollbar-darkshadow-color: #000000 ; scrollbar-shadow-color: #aaaaaa ; scrollbar-highlight-color: #ffffff ; scrollbar-3dlight-color: #000000 ; scrollbar-track-color: #ffffff ; scrollbar-arrow-color: #000000 ; } a { color: #000000 ; text-decoration: none ; font-weight: bold ; } /* Negrita */ b { color: #000000 ; } .form { border: #000000 1 solid ; background: #cccccc ; font-family: verdana ; font-size: 9pt ; } </style> <title><?=$titulo_de_la_pagina_web?></title> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_goToURL() { //v3.0 var i, args=MM_goToURL.arguments; document.MM_returnValue = false; for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'"); } //--> </script> <br> <table width="100%" border="0" cellspacing="1" cellpadding="2" style="border: #757575 1 solid"> <tr> <td background="fondo_titulo.gif" bgcolor="#999999"><div align="center"><strong><font size="2">Libro de visitas de <?=$usuario?> </font> </strong></div></td> </tr> <tr> <td bgcolor="#dddddd"> <table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td> <?=$mensaje_de_bienvenida?> <br> <br> <input name="firmar" type="reset" class="form" onclick="MM_goToURL('parent','firmar.php');return document.MM_returnValue" value="Firmar libro"> <input name="Reset" type="reset" class="form" onClick="MM_goToURL('parent','<?=$direccion_de_la_pagina?>');return document.MM_returnValue" value="Volver"></td> </tr> </table></td> </tr> </table> <br> <br> <? // Script echo por elcidop / www.elcidop.com / // Fichero $nombre_archivo = "libro.txt"; // Damos chmod 666 al archivo if(substr(base_convert(fileperms($nombre_archivo),10,8),3) < 666) { echo " <style> .error { font-size: 7pt } </style> <div class="error"> <p><b>Error</b> <br>El archivo <b>$nombre_archivo</b> debe tener el permiso CHMOD 666. <br>Se intentar� poner el permiso de forma autom�tica ... " ; if(!@chmod($nombre_archivo,0666)) { echo "<p>No se pudo modificar el archivo. Debes hacerlo a trav�s de tu programa de FTP favorito." ; } else { echo "<p>El archivo <b>minichat.txt</b> ha sido modificado. Para finalizar haz click <a href="minichat.php">aqu�</a>." ; } echo "</div><br>" ; } // Funciones function abrirf($filename) //funcion para leer un archivo a una variable { //recimos como parametro el nombre del fichero $fd = @fopen ($filename, "a+"); //abrimos el archivo y oasamos el apuntador a $fd $archivo = @fread ($fd, filesize ($filename));//leemos el archivo apuntado por $fd y pasamos -> $archivo @fclose ($fd); //cerramos el apuntador del archivo return $archivo; //devolvemos contenido del archivo } function guardarf($filename,$valor)//funcion para guardar el contenido de una variable a un archivo { //recibimos nombre del archivo en q se guarda la variable $valor $fe = @fopen ($filename, "w+"); //abrimos el archivo para escritura @fputs ($fe,$valor); //escribimos en el fichero apuntado por $fe @fclose ($fe); //cerramos el apuntador } // Abrimos el archivo $archivo = abrirf ($nombre_archivo); $limite = substr_count($archivo, '/n' ); $tupla = split( '/n', $archivo, $limite + 1 ); for($i=0 ; $i < $limite ; ++$i) { $borrado = trim($tupla[$i]); $columna = split( "|" , $tupla[$i] , 6 ); // Abrimos el archivo $archivo = abrirf ($nombre_archivo); $limite = substr_count($archivo, '/n' ); $tupla = split( '/n', $archivo, $limite + 1 ); for($i=0 ; $i < $limite ; ++$i) { $borrado = trim($tupla[$i]); $columna = split( "|" , $tupla[$i] , 6 ); // Espacios en los comentarios $columna[4] = str_replace("rn","<br>",$columna[4]) ; // Dia $diassemana = array("Domingo","Lunes","Martes","Mi�rcoles","Jueves","Viernes","S�bado") ; $mesesano = array("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic") ; $diasemana = date(w,$columna[5]) ; $diames = date(j,$columna[5]) ; $mesano = date(n,$columna[5]) - 1 ; $ano = date(Y,$columna[5]) ; $columna[5] = "$diassemana[$diasemana] $diames de $mesesano[$mesano] del $ano" ; // Funci�n para poner caretos en los mensajes if($caretos_en_mensajes == "si") { $columna[4] = str_replace("[[","",$columna[4]) ; $columna[4] = str_replace("]]","",$columna[4]) ; $columna[4] = str_replace(":D","[[alegre.gif]]",$columna[4]) ; $columna[4] = str_replace(":8","[[asustado.gif]]",$columna[4]) ; $columna[4] = str_replace(":P","[[burla.gif]]",$columna[4]) ; $columna[4] = str_replace(":S","[[confundido.gif]]",$columna[4]) ; $columna[4] = str_replace(":(1","[[demonio.gif]]",$columna[4]) ; $columna[4] = str_replace(":(2","[[demonio2.gif]]",$columna[4]) ; $columna[4] = str_replace(":?","[[duda.gif]]",$columna[4]) ; $columna[4] = str_replace(":-(","[[enojado.gif]]",$columna[4]) ; $columna[4] = str_replace(";)","[[guino.gif]]",$columna[4]) ; $columna[4] = str_replace(":'(","[[llorar.gif]]",$columna[4]) ; $columna[4] = str_replace(":lol","[[lol.gif]]",$columna[4]) ; $columna[4] = str_replace(":M","[[moda.gif]]",$columna[4]) ; $columna[4] = str_replace(":|","[[neutral.gif]]",$columna[4]) ; $columna[4] = str_replace(":)","[[risa.gif]]",$columna[4]) ; $columna[4] = str_replace(":-)","[[sonrisa.gif]]",$columna[4]) ; $columna[4] = str_replace(":R","[[sonrojado.gif]]",$columna[4]) ; $columna[4] = str_replace(":O","[[sorprendido.gif]]",$columna[4]) ; $columna[4] = str_replace(":(","[[triste.gif]]",$columna[4]) ; $columna[4] = str_replace("[[","<img src="caretos/",$columna[4]) ; $columna[4] = str_replace("]]","" width="15" height="15">",$columna[4]) ; } // Funci�n para transformar URLs en enlaces if($transformar_urls_en_enlaces == "si") { $columna[4] = preg_replace("/(?<!')(?<!<a href=")(?<!<img src=")(http|ftp)(s)?://[^,<'"s]+/i","<a href="\0" target="_blank">\0</a>",$columna[4]) ; } // Funci�n para palabras censuradas if($censurar_insultos == "si") { $columna[4] = str_replace("capullo","***",$columna[4]) ; $columna[4] = str_replace("gay","***",$columna[4]) ; $columna[4] = str_replace("puta","***",$columna[4]) ; $columna[4] = str_replace("maricon","***",$columna[4]) ; $columna[4] = str_replace("pendejo","***",$columna[4]) ; } // Otras funciones if($otras_funciones == "si") { $columna[4] = str_replace("[b]","<b>",$columna[4]) ; $columna[4] = str_replace("[/b]","</b>",$columna[4]) ; $columna[4] = str_replace("[img]","<img src="",$columna[4]) ; $columna[4] = str_replace("[/img]","" border="0">",$columna[4]) ; $columna[4] = preg_replace("/[color=((#)?[0-9a-z]+)]/i","<font color="\1">",$columna[4]) ; $columna[4] = str_replace("[/color]","</font>",$columna[4]) ; $columna[4] = preg_replace("/[url](www..+)[/url]/i","<a href="http://\1" target="_blank">\1</a>",$columna[4]) ; $columna[4] = preg_replace("/[url](.+)[/url]/i","<a href="\1" target="_blank">\1</a>",$columna[4]) ; $columna[4] = preg_replace("/[url=(www..+)](.+)[/url]/i","<a href="http://\1" target="_blank">\2</a>",$columna[4]) ; $columna[4] = preg_replace("/[url=(.+)](.+)[/url]/i","<a href="\1" target="_blank">\2</a>",$columna[4]) ; } ?> <table width="100%" border="0" cellspacing="1" cellpadding="4" style="border: #757575 1 solid"> <tr> <td height="27" background="fondo_titulo.gif" bgcolor="#999999"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="19"><strong><img src="usuario.gif" width="16" height="16" border="0"> <? echo $columna[0] ?> <? if($columna[1]){?> <a href='mailto:<? echo $columna[1] ?>' target='_blank'><img src="email.gif" width="16" height="16" border="0"></a> <? } ?> <? if($columna[3]){?> <a href='<? echo $columna[3] ?>' target='_blank'><img src="paginaweb.gif" width="18" height="18" border="0"></a> <? } ?> </strong></td> <td><div align="right"><strong> <? if($columna[2]){?> <img src="lugar.gif" width="16" height="16"> </strong><? echo $columna[2] ?><strong> <? } ?> </strong> <img src="reloj.gif" width="16" height="16"> <? echo $columna[5] ?></div></td> </tr> </table></td> </tr> <tr> <td height="26" valign="top" bgcolor="#dddddd"><table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td><? echo $columna[4] ?></td> </tr> </table></td> </tr> </table><br> <? } // Fin formulario para poder enviar un enlace } ?> <br> <br> <div align="center"><a href="http://recursosphp.iefactory.com/librodevisitas/librodevisitas.zip">librodevisitas</a> by elcidop</div> [/codigo] [b]libro.txt[/b] en este archivo se guardaran todos los resultados, debermos de darle permisos chmod 666 para que funcione [codigo]elcidop|[email protected]|Espa�a|http://www.elcidop.com|Buen libro de visitas.|1086701774/nphpmysql|[email protected]|Spain|http://www.phpmysql.tk|Muy bueno el script.|1086701824/n44554|[email protected]|||ddd :?|1086710646/n[/codigo] Pueden ver un ejemplo en la siguiente url , si se lo bajan desde la pagina oficial tendran la ventaja de que en este sitio el script sera actualizado constantemente, por ejemplo hoy mismo se le ha incluido la opcion de mostrar los mensajes en orden ascendente (del ultimo mensaje al primero) http://recursosphp.iefactory.com/librodevisitas/libro.php